package com.sihuatech.coreagent.model.request;

import java.io.Serializable;

public class ChargeNotificationRequest implements Serializable{
	
	/**
	 * 订单号，子公司唯一交易流水号
	 */
	private String orderId;
	
	/**
	 * 咪咕计费平台交易流水
	 */
	private String tradeSession;
	
	/**
	 * 扣费手机号
	 */
	private String phoneNumber;
	
	/**
	 * 交易时间YYYYMMDDHHMISS咪咕计费请求时间
	 */
	private String requestTime;
	
	/**
	 * 交易对账日期
	 */
	private String settleDate;
	
	/**
	 * 应答报文
	 */
	private String extendAttr;
	
	/**
	 * 交易金额,单位：分
	 */
	private String amount;
	
	/**
	 * 交易结果代码  00000: 成功
	 */
	private String resultCode;
	
	/**
	 * 处理失败的时候填写失败的原因
	 */
	private String resultDesc;
	
	/**
	 * 保留字段，仅互娱填写
	 */
	private String reservedParam;
	
	/**
	 * 仅用于咪咕游戏计费场景
	 */
	private String itemId;
	
	/**
	 * 用户计费策略
	 */
	private String chargePolicy;
	
	/**
	 * 接入渠道代码，透传子公司业务平台或APP发起计费请求时的渠道代码
	 */
	private String channelId;
	
	/**
	 * 产品代码，结算使用（数媒必须填写12位）
	 */
	private String productID;
	
	/**
	 * 内容编码,结算使用
	 */
	private String contentID;
	
	/**
	 * 企业代码
	 */
	private String cpCode;
	
	/**
	 * 灵活计费业务ID
	 */
	private String businessID;

	public String getOrderId() {
		return orderId;
	}

	public void setOrderId(String orderId) {
		this.orderId = orderId;
	}

	public String getTradeSession() {
		return tradeSession;
	}

	public void setTradeSession(String tradeSession) {
		this.tradeSession = tradeSession;
	}

	public String getPhoneNumber() {
		return phoneNumber;
	}

	public void setPhoneNumber(String phoneNumber) {
		this.phoneNumber = phoneNumber;
	}

	public String getRequestTime() {
		return requestTime;
	}

	public void setRequestTime(String requestTime) {
		this.requestTime = requestTime;
	}

	public String getSettleDate() {
		return settleDate;
	}

	public void setSettleDate(String settleDate) {
		this.settleDate = settleDate;
	}

	public String getExtendAttr() {
		return extendAttr;
	}

	public void setExtendAttr(String extendAttr) {
		this.extendAttr = extendAttr;
	}

	public String getAmount() {
		return amount;
	}

	public void setAmount(String amount) {
		this.amount = amount;
	}

	public String getResultCode() {
		return resultCode;
	}

	public void setResultCode(String resultCode) {
		this.resultCode = resultCode;
	}

	public String getResultDesc() {
		return resultDesc;
	}

	public void setResultDesc(String resultDesc) {
		this.resultDesc = resultDesc;
	}

	public String getReservedParam() {
		return reservedParam;
	}

	public void setReservedParam(String reservedParam) {
		this.reservedParam = reservedParam;
	}

	public String getItemId() {
		return itemId;
	}

	public void setItemId(String itemId) {
		this.itemId = itemId;
	}

	public String getChargePolicy() {
		return chargePolicy;
	}

	public void setChargePolicy(String chargePolicy) {
		this.chargePolicy = chargePolicy;
	}

	public String getChannelId() {
		return channelId;
	}

	public void setChannelId(String channelId) {
		this.channelId = channelId;
	}

	public String getProductID() {
		return productID;
	}

	public void setProductID(String productID) {
		this.productID = productID;
	}

	public String getContentID() {
		return contentID;
	}

	public void setContentID(String contentID) {
		this.contentID = contentID;
	}

	public String getCpCode() {
		return cpCode;
	}

	public void setCpCode(String cpCode) {
		this.cpCode = cpCode;
	}

	public String getBusinessID() {
		return businessID;
	}

	public void setBusinessID(String businessID) {
		this.businessID = businessID;
	}

	public ChargeNotificationRequest() {
		super();
	}

	public ChargeNotificationRequest(String orderId, String tradeSession, String phoneNumber, String requestTime,
			String settleDate, String extendAttr, String amount, String resultCode, String resultDesc,
			String reservedParam, String itemId, String chargePolicy, String channelId, String productID,
			String contentID, String cpCode, String businessID) {
		super();
		this.orderId = orderId;
		this.tradeSession = tradeSession;
		this.phoneNumber = phoneNumber;
		this.requestTime = requestTime;
		this.settleDate = settleDate;
		this.extendAttr = extendAttr;
		this.amount = amount;
		this.resultCode = resultCode;
		this.resultDesc = resultDesc;
		this.reservedParam = reservedParam;
		this.itemId = itemId;
		this.chargePolicy = chargePolicy;
		this.channelId = channelId;
		this.productID = productID;
		this.contentID = contentID;
		this.cpCode = cpCode;
		this.businessID = businessID;
	}

	@Override
	public String toString() {
		return "ChargeNotificationRequest [orderId=" + orderId + ", tradeSession=" + tradeSession + ", phoneNumber="
				+ phoneNumber + ", requestTime=" + requestTime + ", settleDate=" + settleDate + ", extendAttr="
				+ extendAttr + ", amount=" + amount + ", resultCode=" + resultCode + ", resultDesc=" + resultDesc
				+ ", reservedParam=" + reservedParam + ", itemId=" + itemId + ", chargePolicy=" + chargePolicy
				+ ", channelId=" + channelId + ", productID=" + productID + ", contentID=" + contentID + ", cpCode="
				+ cpCode + ", businessID=" + businessID + "]";
	}
	
}
